package persistencia;

import modelo.GeneradorDePistas;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;

import org.w3c.dom.NodeList;
import org.w3c.dom.Document;
import org.w3c.dom.Element;


public class ParserDePistas extends Parser {

	private GeneradorDePistas generador;
	
	public ParserDePistas(GeneradorDePistas generador)
	{
		this.generador = generador;
	}
	
	public void parsear(String nombre_archivo)
	{		
		try 
		{
			DocumentBuilderFactory db = DocumentBuilderFactory.newInstance();
			DocumentBuilder DB = db.newDocumentBuilder();
			Document doc = DB.parse(nombre_archivo);
			NodeList pistas = doc.getElementsByTagName("pista");
			int largo = pistas.getLength();
			int indice = 0;
			while(indice<largo) 
			{
				Element pista = (Element) pistas.item(indice);
				String pista_descripcion = pista.getAttribute("descripcion");
				String dificultad = pista.getAttribute("dificultad");
				String caracteristica = pista.getAttribute("caracteristica");
				String tipo = pista.getAttribute("tipo");
			   
				if ("ladron".equals(tipo))
				{
					this.generador.agregarPistaDeLadron(pista_descripcion, caracteristica);
				}
				else if ("erronea".equals(tipo))
				{
					this.generador.agregarPistaDeCiudadErronea(pista_descripcion);
				}
				else
				{
					this.generador.agregarPistaDeCiudad(pista_descripcion, dificultad, caracteristica);
				}
				indice++;
			}
		}
		catch(Exception ex) 
		{
		   return ;
		}
	}
}



